﻿using System;
using System.Collections;

namespace 睡觉
{
    class Program
    {
        //        添加3个类，分别实现 IComparer<T>接口，实现对Student类的三个字段的排序。
        //1、学生类：学号、姓名、年龄
        //2、请选择：1、添加学生信息。2、查询学生信息，3、删除学生信息。
        //3、重复的学号不能添加。
        //4、查询学生信息功能中有：1、查询所有（按学号排序）2、查询所有（按姓名排序），
        //            2、查询所有（按年龄排序）4、按学号查询（查没有，则打印查无此学生）5、退出
       public static ArrayList alist = new ArrayList();
        static public void Asd()
        {
            // List<Student> alist = new List<Student>();
            Student s1 = new Student("张三", 18, 1);
            Student s2 = new Student("李四", 17, 5);
            Student s3 = new Student("王五", 21, 2);
            Student s4 = new Student("赵六", 20, 3);
            Student s5 = new Student("孙七", 16, 4);
            alist.Add(s1);
            alist.Add(s2);
            alist.Add(s3);
            alist.Add(s4);
            alist.Add(s5);
        }

        static void Main(string[] args)
        {
            Asd();
            Menu();

            //Console.WriteLine("排序前");
            //for (int i = 0; i < alist.Count; i++)
            //{
            //    Console.WriteLine(alist[i]);

            //}

            //foreach (var s in alist)
            //{
            //    Console.WriteLine(s);
            //}
            //Console.WriteLine("排序后");
            ////alist.Sort(Age);
            ////list.Sort(new NameSort());
        }
        public static void Menu()
        {
            Sort sort = new Sort();
            while (true)
            {
                Console.WriteLine("请选择：1、添加学生信息。2、查询学生信息，3、删除学生信息。");
                int x = int.Parse(Console.ReadLine());
                if (x == 1) { Add(); continue; }
                else if (x == 2) { sort.Menu(); continue; }
                else if (x == 3) { Console.WriteLine(Delete()); continue; }
                else { Console.WriteLine("输入错误，请重新输入！"); continue; }
            }
        }
        public static void Add()
        {
            Console.WriteLine("请输入学生姓名：");
            string name = Console.ReadLine();
            Console.WriteLine("请输入学生年龄：");
            int age = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入学生学号：");
            int id = int.Parse(Console.ReadLine());
            Student sx = new Student(name, age, id);
            foreach (Student item in alist)
            {
                if (id == item.Id) { Console.WriteLine("学号重复，请重试！"); Menu(); }
            }
            alist.Add(sx);

        }
   
        public static string Delete()
        {
            Console.WriteLine("请输入要删除的学号：");
            int x = int.Parse(Console.ReadLine());
            foreach (Student item in alist)
            {
                if (x == item.Id) { alist.Remove(item); Console.WriteLine("删除成功！"); Menu(); }
            }

            return "删除失败，请输入正确的学号！";
        }
   
    }
  
}
